﻿namespace QMERP.Domain.Dtos
{
    public class TransferLensOrderMainInfoResponse
    {
        public long Id { get; set; }
        /// <summary>
        /// 镜种转换单号
        /// </summary>
        public string Number { get; set; } = "";
        /// <summary>
        /// 镜种转换单状态
        /// </summary>
        public string Status { get; set; } = "";
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 创建人Id
        /// </summary>
        public long CreatedBy { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string CreatedByName { get; set; } = "";
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedOn { get; set; } = DateTime.Now;
        /// <summary>
        /// 更新人Id
        /// </summary>
        public long? UpdatedBy { get; set; }
        /// <summary>
        /// 更新人
        /// </summary>
        public string? UpdatedByName { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdatedOn { get; set; }
        /// <summary>
        /// 审核人Id
        /// </summary>
        public long? CheckedBy { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public string? CheckedByName { get; set; }
        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? CheckedOn { get; set; }
        /// <summary>
        /// 完成人Id
        /// </summary>
        public long? FinishedBy { get; set; }
        /// <summary>
        /// 完成人
        /// </summary>
        public string? FinishedByName { get; set; }
        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? FinishedOn { get; set; }

        /// <summary>
        /// 转换片数
        /// </summary>
        public int Qty { get; set; }
        /// <summary>
        /// 出库片数
        /// </summary>
        public int LeaveStockQty { get; set; }
        /// <summary>
        /// 入库片数
        /// </summary>
        public int EnterStockQty { get; set; }

        /// <summary>
        /// 转出仓库Id
        /// </summary>
        public long OutWarehouseId { get; set; }
        /// <summary>
        /// 转出镜种Id
        /// </summary>
        public long OutLensId { get; set; }
        /// <summary>
        /// 转入仓库Id
        /// </summary>
        public long InWarehouseId { get; set; }
        /// <summary>
        /// 转入镜种Id
        /// </summary>
        public long InLensId { get; set; }

        public WarehouseResponse OutWarehouse { get; set; } = new();
        public LensResponse OutLens { get; set; } = new();
        public WarehouseResponse InWarehouse { get; set; } = new();
        public LensResponse InLens { get; set; } = new();
        public List<LensDetailResponse> LensDetails { get; set; } = new();
    }
}
